Platform for providing interactive applications on a digital content platform

ABSTRACT

Systems and methods for providing interactive applications. In one embodiment, the systems and methods may include: (a) identifying digital content published on digital content platforms (e.g., images published on webpages); (b) assigning a key to the digital content; and (c) processing the digital content through a tagging engine (e.g., a crowdsource network) to tag the content with contextual data. The systems and methods may further include: (d) maintaining a data repository, wherein the content and respective data are indexed by corresponding key; (e) receiving a data request from an enabled application, upon user-activation of the application, wherein the data request includes the key; (f) conducting a data search of the data repository based on the key; and (g) providing the content data, responsive to the data request, for rendering of the enabled and user-activated application.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication Ser. No. 61/543,717, filed Oct. 5, 2011, under 35 U.S.C.§119(e)(1), the entire disclosure of which is herein incorporated byreference in its entirety.

SUMMARY

Disclosed herein are systems and methods for providing interactiveapplications on a digital content platform. In one embodiment, thesystems and methods are used for facilitating the enablement,activation, and rendering of interactive applications on a digitalcontent platform (e.g., a webpage, mobile application, etc.). Suchsystems and methods may include: (a) identifying digital contentpublished on digital content platforms (e.g., images published onwebpages); (b) assigning a key to the digital content; and (c)processing the digital content through a tagging engine (e.g., acrowdsource network) to tag the images with contextual data. The systemsand methods further include: (d) maintaining a data repository, whereinthe content and respective contextual data are indexed by correspondingkey; (e) receiving a data request from an enabled application, uponuser-activation of the enabled application, wherein the data requestincludes the key; (f) conducting a data search of the data repositorybased on the key; and (g) providing the contextual data, responsive tothe data request, for rendering of the enabled and user-activatedapplication.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying drawings, which are incorporated herein, form part ofthe specification. Together with this written description, the drawingsfurther serve to explain the principles of, and to enable a personskilled in the relevant art(s), to make and use the claimed systems andmethods.

FIG. 1 is a high-level diagram illustrating an embodiment of the presentinvention.

FIG. 2 is a high-level diagram illustrating another embodiment of thepresent invention.

FIG. 3 is a flowchart illustrating an embodiment presented.

FIG. 4 is a flowchart illustrating another embodiment presented.

FIG. 5 is a high-level diagram illustrating another embodiment of thepresent invention.

FIG. 6 is a screenshot illustrating an implementation of the presentinvention.

FIG. 7 is another screenshot illustrating an implementation of thepresent invention.

FIG. 8 is a schematic drawing of a computer system used to implement themethods.

DEFINITIONS

Prior to describing the present invention in detail, it is useful toprovide definitions for key terms and concepts used herein. Unlessdefined otherwise, all technical and scientific terms used herein havethe same meaning as commonly understood by one of ordinary skill in theart to which this invention belongs.

Contextual Information or Contextual Tag: data related to the contentsand/or context of digital content (e.g., an image, or content within theimage); for example, but not limited to, a description, identification,index, or name of an image, or object, or scene, or person, orabstraction within the digital content (e.g., image).

Crowdsource Network: One or more individuals, whether human or computer,used for a crowdsourcing application.

Crowdsourcing: The process of delegating a task to one or moreindividuals, with or without compensation.

Digital content: broadly interpreted to include, without exclusion, anycontent available on a digital content platform, such as images, videos,text, audio, and any combinations and equivalents thereof.

Digital content platform: broadly interpreted to include, withoutexclusion, any webpage, website, browser-based web application, softwareapplication, mobile device application (e.g., phone or tabletapplication), TV widget, and equivalents thereof.

Image: a visual representation of an object, or scene, or person, orabstraction, in the form of a machine-readable and/or machine-storablework product (e.g., one or more computer files storing a digital image,a browser-readable or displayable image file, etc.). As used herein, theterm “image” is merely one example of “digital content.”

Proximate: is intended to broadly mean “relatively adjacent, close, ornear,” as would be understood by one of skill in the art. The term“proximate” should not be narrowly construed to require an absoluteposition or abutment. For example, “content displayed proximate to animage,” means “content displayed relatively near an image, but notnecessarily abutting or within the image.” (To clarify: “contentdisplayed proximate to an image,” also includes “content displayedabutting or within the image.”) In another example, “content displayedproximate to an image,” means “content displayed on the same screen pageor web page as the image.”

Before the present invention is described in greater detail, it is to beunderstood that this invention is not limited to particular embodimentsdescribed, and as such may vary. It is also to be understood that theterminology used herein is for the purpose of describing particularembodiments only, and is not intended to be limiting. The scope of thepresent invention will be limited only by the appended claims.

RELATED APPLICATIONS

Except for any term definitions that conflict with the term definitionsprovided herein, the following related, co-owned, and co-pendingapplications are incorporated by reference in their entirety: U.S.patent application Ser. Nos. 12/902,066; 13/005,217; 13/005,226;13/045,426; 29/387,270; 29/387,271; 29/387,272; 29/387,273; 13/151,110;13/219,460; 13/252,053; and 13/299,280.

DETAILED DESCRIPTION

Disclosed herein are systems and methods for providing interactiveapplications on a digital content platform. In one embodiment, thesystems and methods are used for facilitating the enablement,activation, and rendering of interactive applications on a digitalcontent platform. Such systems and methods may include: (a) identifyingdigital content published on digital content platforms; (b) assigning akey to the digital content; and (c) processing the digital contentthrough a tagging engine to tag the images with contextual data. Thesystems and methods further include: (d) maintaining a data repository,wherein the content and respective contextual data are indexed bycorresponding key; (e) receiving a data request from an enabledapplication, upon user-activation of the enabled application, whereinthe data request includes the key; (f) conducting a data search of thedata repository based on the key; and (g) providing the contextual data,responsive to the data request, for rendering of the enabled anduser-activated application. In one particular embodiment, the digitalcontent includes images published on a webpage. The tagging engine mayinclude a crowdsource network to identify the context of the image andprovide contextual tags. Additional embodiments and examples areprovided below.

The following detailed description of the figures refers to theaccompanying drawings that illustrate exemplary embodiments. Otherembodiments are possible. Modifications may be made to the embodimentsdescribed herein without departing from the spirit and scope of thepresent invention. Therefore, the following detailed description is notmeant to be limiting.

FIG. 1 is a high-level diagram illustrating an embodiment of the presentinvention. More specifically, FIG. 1 illustrates a system 100 forfacilitating the enablement, activation, and/or rendering of interactiveapplications (or “apps”) proximate to digital content published on adigital content platform (e.g., an image published on a webpage). Asshown, a user 105 accesses a digital content platform (e.g., a webpage)through an Internet connection 101. Typically, digital content, such asan image 107, published or otherwise displayed on a webpage, is staticand provides limited interactivity with the user. However, image 107provides an opportunity to interact with a user, provide additionalcontent, and/or serve as “online real estate” for providing contextuallyrelevant advertisements. As will be described below, system 100 providesa platform for providing interactive content and/or applications for auser 105, relevant to the published digital content.

As shown in FIG. 1, one or more application developer(s) 150 may provideone or more interactive applications 155 a, 155 b, 155 c, forenablement, activation, and rendering on published digital content(e.g., image 107). In practice, applications 155 a, 155 b, and/or 155 ccan be enabled by the application developer 150, a service provider 110,and/or the publisher of the digital content. Enablement of theapplications provides the user with a palette of applications to choosefrom. In the example shown in FIG. 1, the user 105 can then activate oneor more of the enabled applications by selecting a respective icon orhotspot 156 a, 156 b, 156 c on image 107. User-activation of theselected application then pulls image data available for the image 107in order to render an in-image interactive application 157 proximate tothe image. (The use of the term “in-image” should not be interpreted torequire a fixed positional relationship between the image and theapplication. For example, in one embodiment, an “in-image application”may be rendered proximate to the image; i.e., inside or outside theimage boundary/frame, near the image, on the same screen as the image,on the same webpage as the image; or any other equivalent positionrelative to the image.)

In order for the enablement, activation, and/or rendering of thein-image application to be relevant to the image, the applicationdeveloper(s) 150 may require detailed contextual information (or data)on the contents/context of the image 107. In practice, the contextualdata is provided by a service provider 110. More specifically, serviceprovider 110 implements various interfaces and sub-protocols to identifypublished content, analyze the content, index and maintain the dataavailable on the content, and provide contextual data to the enabled andactivated applications 155 a, 155 b, 155 c. For example, the serviceprovider 110 can pull digital images published on webpages, and processthe images through an image tagging engine 120. Within image taggingengine 120, the service provider 110 employs techniques such as:algorithmic identification 121 or analysis of the image; imagerecognition protocols 122 and analysis of the image; proximate textrecognition 123 in search of contextual information of the image basedon text published proximate to the image; submission of the image to acrowdsource network 124 to identify the context of the image and tag theimage with relevant data; a thematic tagging engine 125 to identify andtag the image with relevant data, based on a pre-defined theme; anapplication feedback engine 126 to receive use-feedback from an enabled,activated, and rendered application; and/or any combinations orequivalents thereof. Information/data obtained or developed respectiveto the image is then stored in an image data repository 130. In oneembodiment, the image data is indexed within image data repository 130via a unique image key, uniform resource locator (URL), or equivalentsthereof. As such, inquiries and/or searches upon image data repository130 may quickly and effectively provide all relevant data available foruse in an interactive in-image application.

FIG. 2 is a high-level diagram illustrating an example implementation ofthe system 100 of FIG. 1. The labeling of arrows A-F indicates theprocess flow of the implementation. As shown in FIG. 2, an application255 is activated by a user. The activated application then pulls theunique image key 215 of the image (A), and provide such image key to theservice provider (B). The image key 215 is used to conduct a search ofthe relevant data 231 obtained by the service provider based onprocessing of the image (C). In some instances, application 255 mayrequest all available data on the image. However, in some instances,application 255 may only request specific data 233 (D) for rendering ofthe application 257 (F). For example, if the function of the applicationis to provide a map of a location shown on the image, the image datarepository 230 may provide the location data 233, identified by analysisof the image, for rendering of an in-image map application 257.

FIG. 3 is a flowchart illustrating an embodiment presented. Morespecifically, FIG. 3 shows a method 300 for processing digital content(e.g., a published digital image). In step 301, one or more images arereceived from one or more publishers. In one embodiment, a serviceprovider provides an interface for one or more publishers to submitimages that are (or will be) published. In another embodiment, a serviceprovider “scrapes” the images from the publishers' digital platform(s).For example, the service provider may implement a “widget” (e.g., a lineof software (e.g., HTML) code inserted into a publisher's webpage) toidentify the images being published on the digital content platform.Such widget can then push the images to the service provider forprocessing.

In step 302, external data, corresponding to the image, is collected.For example, any existing metadata is collected on the image. Suchmetadata may be included amongst the contextual database entry createdfor the image. In step 303, the image is processed through an imagetagging engine to obtain additional relevant and contextually specificdata. For example, in one embodiment, the image is submitted to acrowdsource network, wherein the image is evaluated and analyzed. Thecrowdsource network can return one or more contextual tags, identifiers,or other data that can later be used by one or more interactiveapplications.

In step 305, the image data is stored in an image data repository. Forexample, an image data repository (e.g., a database on a server) maystore the image data with or without an actual copy of the image. In oneembodiment, the image data is stored and indexed by a unique image keyidentifier. The image key may be used as a means for identifying,searching, and/or retrieving the stored image data. In operation, whenan enabled and activated in-image application requires image data, theimage key can be used to identify the respective image in an image datarequest.

In step 307, the service provider may enable in-image applications basedon the availability of image data. For example, the service provider maymanage a catalog of available in-image applications. Each applicationmay require different image data in order to effectively function forits intended purpose. However, the required image data may or may not beavailable. As such, the service provider can determine whethersufficient image data is available in order to effectively render theapplication useful. If the image data is not available, the applicationcan be disabled. If the image data is available, the application can beenabled. A publisher may also be given the option of choosing whichin-image applications should be enabled/disabled.

FIG. 4 is a flowchart illustrating another embodiment presented. Morespecifically, FIG. 4 illustrates a sub-protocol 400 implemented by aservice provider after processing images through an image taggingengine. In step 401, an image data request is received from an in-imageinteractive application. Such image request typically arrives to theservice provider from an in-image application interface, wherein theend-user activates a hotspot (or application icon) on the image toactivate the in-image application. In step 403, an image key search isperformed based on the image data request. In step 405, a determinationis made as to whether the image includes an associated image key. If theimage does not include an image key, a decision is made as to whether tocreate an image key, in step 406, and/or process the image through animage tagging engine (or sub-protocol 300). However, if an image key isavailable, then the application-specific image data is pulled from theimage data repository, in step 407. The image data is delivered to theactivated in-image application, in step 409. Optionally, a feedbackinterface may be provided to receive application (or use) feedback data,in step 411. In step 413, the image data may be updated in the imagedata repository for future use.

FIG. 5 is a high-level diagram illustrating another embodiment of thepresent invention. More specifically, FIG. 5 shows a system 500, whichincludes use of both an internal (i.e., service provider managed) imagedata repository 530, and an external (i.e., third-party managed) imagedata repository 560. In the embodiment shown in FIG. 5, an application555 is activated by user-activation of a hotspot (or icon) 556 on apublished image 507. The image key for image 507 is pulled (or pushed)by application 555, and provided to an image markup language (IML)request management module 529. The IML request module 529 determineswhether the image data needed for rendering of the application 555 ismaintained in the service provider image data repository 530 or thethird-party image data repository 560. The IML request module 529 thenpulls (or pushes) the necessary data, and provides the data forrendering of the application 555 proximate the image 507. Use-feedbackcan then be collected by service provider reporting metrics 513 and/orthird-party reporting metrics 570. As such, a complete and more robustimage data system may be provided in order to facilitate the renderingof content-rich, interactive in-image applications.

FIGS. 6 and 7 are screenshots illustrating an implementation of thepresent invention. In practice, an end-user may expose an applicationpalette (or application user-interface) 791 by activation of a hotspot690 on published digital image 607. One or more enabled in-imageinteractive applications may then be displayed along application palette791. In the embodiment shown, an in-image application 756 may be a mapdisplay application. Upon user-activation of the application icon 756,the image key of the image 607 is provided to a service provider, asdescribed above. The service provider the returns image data specific tothe activated application. In the embodiment shown, such image data mayinclude location data specific to the location depicted within theimage. The activated application may then render an overlay 757 showinga map of the location shown in the image (or other functional renderingof the application). In one embodiment, the application and/or serviceprovider rewrites the publisher's HTML in order to overlay theinteractive application and relevant content over the published image.

Additional Embodiments

In another embodiment, there is provided a computer-implemented methodfor facilitating the rendering of in-image applications, the methodcomprising: (a) identifying a digital image published on a digitalcontent platform; (b) assigning an image key to the digital image; (c)processing the digital image through an image tagging engine to tag theimage with one or more contextual tags; (d) maintaining an image datarepository, wherein the one or more contextual tags are indexed by theimage key; (e) providing the digital content platform with the image keyfor linking to the published image; (f) providing the digital contentplatform with an in-image application interface; (g) enabling one ormore in-image applications based on the one or more contextual tags; (h)receiving a data request from an enabled in-image application, uponuser-activation of the enabled in-image application, wherein the datarequest includes the image key; (i) conducting a data search of theimage data repository based on the image key; and (j) providing the oneor more contextual tags, responsive to the data request, for renderingof the enabled and user-activated in-image application. The imagetagging engine may comprise a crowdsource network, proximate-textrecognition, and/or thematic tagging. The method may further comprise:(k) receiving use feedback from the rendered in-image application; (l)supplementing the one or more contextual tags with use feedback; and/or(m) overlaying the rendered in-image application on the digital contentplatform.

In another embodiment, there is provided a computer-implemented systemfor facilitating the rendering of in-image applications, the systemcomprising: (a) an image identification interface to identify digitalimages published on one or more digital content platforms; (b) an imagetagging engine for tagging images with contextual tags; (c) an imagedata repository storing the contextual tags linked to respective digitalimages, wherein the digital images are indexed by an image key; and (d)an in-image application interface to: (1) receive a data request from anenabled in-image application, upon user-activation of the enabledin-image application, wherein the data request includes the image key,(2) conduct a data search of the image data repository based on theimage key, and (3) provide image data, responsive to the data request,for rendering of the enabled and user-activated in-image application.The image tagging engine may comprise a crowdsource network,proximate-text recognition, and/or thematic tagging. The in-imageapplication interface may further comprise overlaying the renderedin-image application on the digital content platform, based on the imagedata.

In another embodiment, there is provided computer-implemented systemsand methods for facilitating the rendering of interactive applications,respective to digital images published on a digital content platform.The systems and methods include means for identifying digital imagespublished on one or more digital content platforms. Such means mayinclude: (1) an interface for receiving images from a digital publisher;(2) computer software or “widget” (e.g., a line of software (e.g., HTML)that scrapes images from publishers' digital platform(s); (3) computersoftware or widget that pushes digital images to a service provider forprocessing; (4) computer software or widget that “walks the DOM” toidentify digital images published on a digital content platform; orcombinations or equivalents thereof.

The systems and methods further include means for tagging digital imageswith contextual data. Such means may include: (1) an image taggingengine for tagging images with contextual tags; (2) an algorithmicidentification or analysis of the image; (3) image recognition protocolsand analysis of the image; (4) proximate text recognition in search ofcontextual information of the image based on text published proximate tothe image; (5) a crowdsource network to identify the context of theimage and tag the image with relevant data; (6) a thematic taggingengine to identify and tag the image with relevant data, based on apre-defined theme; (7) an application feedback engine to receiveuse-feedback from an enabled, activated, and rendered application; (8)and/or any combinations or equivalents thereof.

The systems and methods may further include means for storing thecontextual data linked to respective digital images. Such means mayinclude an image data repository, database, server, or combinations orequivalents thereof.

The systems and methods may further include means for indexing thedigital images and/or data. Such means may include a URL, unique code,image key, or combinations or equivalents thereof.

The systems and methods may further include means for (1) receiving adata request from an enabled in-image application, upon user-activationof the enabled in-image application; (2) conducting a data search of themeans for storing the contextual data; (3) providing image/contextualdata, responsive to the data request, for rendering of the enabled anduser-activated in-image application; and/or (4) overlaying the renderedin-image application on the digital content platform, based on the imagecontext/data. Such means may include an in-image application interface,computer software code, network connection interface, and combinationsor equivalents thereof.

In one embodiment, there is provided a computer-implement method forproviding an interactive digital image platform. Thecomputer-implemented systems and methods presented include: (a) creatingan image database populated with a plurality of images from a pluralityof publishers; (b) using a computer algorithm, image recognition engine,crowdsourcing network, or application interface to identify and tag datarelevant to each of the plurality of images; (c) providing a publisherwith a catalog of interactive applications that can be applied topublished images; (d) receiving an image key identifying a publishedimage; (e) identifying what data is available in the image database forthe published image identified by the image key; (f) identifying one ormore publisher-selected interactive applications that may be applied tothe published image from step (d); (g) enabling the interactiveapplications from step (f); and (h) rewriting the publisher's HTML inorder to overlay the interactive application and relevant content overthe image of step (d).

The systems and methods provided allow a service provider to provide apublisher (e.g., a web publisher) with a catalog of interactive imageapplications. The service provider can then enable/disable the selectedapplications based on whether there is sufficient or appropriate data onthe image to support the functionality of the application. The imageapplications can overlay images published on the publisher's digitalplatform (e.g., website) and allow an end-user (e.g., website user) tointeract with and/or obtain additional content from the image. Theinteractive application may be activated by the user with, for example,a mouse-over of the image. In one embodiment, a widget (e.g., line ofHTML code) is inserted into the publishers' website(s). The widget walksthe document object model tree (i.e., “walks the DOM”) to identifyimages that are being published. The image key (or URL) of the publishedimages are forwarded (or otherwise provided) to the service provider.

In one embodiment, there is provided a method comprising: (a) allowing apublisher to select one or more interactive applications from a catalogof available applications; (b) identifying a published image on apublisher's digital platform; (c) identifying whether the data availableon the published image is sufficient to support the function of each ofthe one or more selected applications; (d) enabling the interactiveapplications that are supported by the image data; (e) providing a userof the digital platform with access to the one or more interactiveapplications that are enabled; and (f) running the interactiveapplication on the publisher's digital platform. Interactiveapplications may also be end-user selected.

Communication Between Parties Practicing the Present Invention

In one embodiment, communication between the various parties andcomponents of the present invention is accomplished over a networkconsisting of electronic devices connected either physically orwirelessly, wherein digital information is transmitted from one deviceto another. Such devices (e.g., end-user devices and/or servers) mayinclude, but are not limited to: a desktop computer, a laptop computer,a handheld device or PDA, a cellular telephone, a set top box, anInternet appliance, an Internet TV system, a mobile device or tablet, orsystems equivalent thereto. Exemplary networks include a Local AreaNetwork, a Wide Area Network, an organizational intranet, the Internet,or networks equivalent thereto. The functionality and system componentsof an exemplary computer and network are further explained inconjunction with FIG. 8, below.

Computer Implementation

In one embodiment, the invention is directed toward one or more computersystems capable of carrying out the functionality described herein. Forexample, FIG. 8 is a schematic drawing of a computer system 800 used toimplement the methods presented above. Computer system 800 includes oneor more processors, such as processor 804. The processor 804 isconnected to a communication infrastructure 806 (e.g., a communicationsbus, cross-over bar, or network). Computer system 800 can include adisplay interface 802 that forwards graphics, text, and other data fromthe communication infrastructure 806 (or from a frame buffer not shown)for display on a local or remote display unit 830.

Computer system 800 also includes a main memory 808, such as randomaccess memory (RAM), and may also include a secondary memory 810. Thesecondary memory 810 may include, for example, a hard disk drive 812and/or a removable storage drive 814, representing a floppy disk drive,a magnetic tape drive, an optical disk drive, flash memory device, etc.The removable storage drive 814 reads from and/or writes to a removablestorage unit 818. Removable storage unit 818 represents a floppy disk,magnetic tape, optical disk, flash memory device, etc., which is read byand written to by removable storage drive 814. As will be appreciated,the removable storage unit 818 includes a computer usable storage mediumhaving stored therein computer software, instructions, and/or data.

In alternative embodiments, secondary memory 810 may include othersimilar devices for allowing computer programs or other instructions tobe loaded into computer system 800. Such devices may include, forexample, a removable storage unit 822 and an interface 820. Examples ofsuch may include a program cartridge and cartridge interface (such asthat found in video game devices), a removable memory chip (such as anerasable programmable read only memory (EPROM), or programmable readonly memory (PROM)) and associated socket, and other removable storageunits 822 and interfaces 820, which allow computer software,instructions, and/or data to be transferred from the removable storageunit 822 to computer system 800.

Computer system 800 may also include a communications interface 824.Communications interface 824 allows computer software, instructions,and/or data to be transferred between computer system 800 and externaldevices. Examples of communications interface 824 may include a modem, anetwork interface (such as an Ethernet card), a communications port, aPersonal Computer Memory Card International Association (PCMCIA) slotand card, etc. Software and data transferred via communicationsinterface 824 are in the form of signals 828 which may be electronic,electromagnetic, optical, or other signals capable of being received bycommunications interface 824. These signals 828 are provided tocommunications interface 824 via a communications path (e.g., channel)826. This channel 826 carries signals 828 and may be implemented usingwire or cable, fiber optics, a telephone line, a cellular link, a radiofrequency (RF) link, a wireless communication link, and othercommunications channels.

In this document, the terms “computer-readable storage medium,”“computer program medium,” and “computer usable medium” are used togenerally refer to media such as removable storage drive 814, removablestorage units 818, 822, data transmitted via communications interface824, and/or a hard disk installed in hard disk drive 812. These computerprogram products provide computer software, instructions, and/or data tocomputer system 800. These computer program products also serve totransform a general purpose computer into a special purpose computerprogrammed to perform particular functions, pursuant to instructionsfrom the computer program products/software. Embodiments of the presentinvention are directed to such computer program products.

Computer programs (also referred to as computer control logic) arestored in main memory 808 and/or secondary memory 810. Computer programsmay also be received via communications interface 824. Such computerprograms, when executed, enable the computer system 800 to perform thefeatures of the present invention, as discussed herein. In particular,the computer programs, when executed, enable the processor 804 toperform the features of the presented methods. Accordingly, suchcomputer programs represent controllers of the computer system 800.Where appropriate, the processor 804, associated components, andequivalent systems and sub-systems thus serve as “means for” performingselected operations and functions. Such “means for” performing selectedoperations and functions also serve to transform a general purposecomputer into a special purpose computer programmed to perform saidselected operations and functions.

In an embodiment where the invention is implemented using software, thesoftware may be stored in a computer program product and loaded intocomputer system 800 using removable storage drive 814, interface 820,hard drive 812, communications interface 824, or equivalents thereof.The control logic (software), when executed by the processor 804, causesthe processor 804 to perform the functions and methods described herein.

In another embodiment, the methods are implemented primarily in hardwareusing, for example, hardware components such as application specificintegrated circuits (ASICs) Implementation of the hardware state machineso as to perform the functions and methods described herein will beapparent to persons skilled in the relevant art(s). In yet anotherembodiment, the methods are implemented using a combination of bothhardware and software.

Embodiments of the invention, including any systems and methodsdescribed herein, may also be implemented as instructions stored on amachine-readable medium, which may be read and executed by one or moreprocessors. A machine-readable medium may include any mechanism forstoring or transmitting information in a form readable by a machine(e.g., a computing device). For example, a machine-readable medium mayinclude read only memory (ROM); random access memory (RAM); magneticdisk storage media; optical storage media; flash memory devices;electrical, optical, acoustical or other forms of propagated signals(e.g., carrier waves, infrared signals, digital signals, etc.), andothers. Further, firmware, software, routines, instructions may bedescribed herein as performing certain actions. However, it should beappreciated that such descriptions are merely for convenience and thatsuch actions in fact result from computing devices, processors,controllers, or other devices executing firmware, software, routines,instructions, etc.

For example, in one embodiment, there is provided a computer-readablestorage medium for facilitating the rendering of in-image applicationson a digital content platform, comprising instructions executable by atleast one processing device that, when executed, cause the processingdevice to: (a) identify a digital image published on a digital contentplatform; (b) assign an image key to the digital image; (c) process thedigital image through an image tagging engine to tag the image with oneor more contextual tags; (d) store the one or more contextual tags,indexed by the image key, in an image data repository; (e) receive adata request from an enabled in-image application, upon user-activationof the enabled in-image application, wherein the data request includesthe image key; (f) conduct a data search of the image data repositorybased on the image key; and (g) provide the one or more contextual tags,responsive to the data request, for rendering of the enabled anduser-activated in-image application. The computer-readable storagemedium may further include instructions executable by at least oneprocessing device that, when executed, cause the processing device to:(h) provide the digital image to a crowdsource network; (i) performproximate-text recognition of the digital image on the digital contentplatform; (j) submit the digital image to a thematic tagging engine; (k)receive use feedback from the rendered in-image application; (l)supplement the one or more contextual tags with use feedback; and/or (m)provide the digital image to overlay the rendered in-image applicationon the digital content platform.

In another embodiment, there is provided a computer-readable storagemedium for facilitating the rendering of in-image applications on adigital content platform, comprising instructions executable by at leastone processing device that, when executed, cause the processing deviceto: (a) identify digital images published on one or more digital contentplatforms; (b) process and/or tag the images via an image tagging enginefor tagging images with contextual tags; (c) stored the contextual tagsin an image data repository, linked to respective digital images,wherein the digital images are indexed by an image key; and (d) providean in-image application interface to: (1) receive a data request from anenabled in-image application, upon user-activation of the enabledin-image application, wherein the data request includes the image key,(2) conduct a data search of the image data repository based on theimage key, and (3) provide image data, responsive to the data request,for rendering of the enabled and user-activated in-image application.

Conclusion

The foregoing description of the invention has been presented forpurposes of illustration and description. It is not intended to beexhaustive or to limit the invention to the precise form disclosed.Other modifications and variations may be possible in light of the aboveteachings. The embodiments were chosen and described in order to bestexplain the principles of the invention and its practical application,and to thereby enable others skilled in the art to best utilize theinvention in various embodiments and various modifications as are suitedto the particular use contemplated. It is intended that the appendedclaims be construed to include other alternative embodiments of theinvention; including equivalent structures, components, methods, andmeans.

As will be apparent to those of skill in the art upon reading thisdisclosure, each of the individual embodiments described and illustratedherein has discrete components and features which may be readilyseparated from or combined with the features of any of the other severalembodiments without departing from the scope or spirit of the presentinvention. Any recited method can be carried out in the order of eventsrecited or in any other order which is logically possible.

It is to be appreciated that the Detailed Description section, and notthe Summary and Abstract sections, is intended to be used to interpretthe claims. The Summary and Abstract sections may set forth one or more,but not all exemplary embodiments of the present invention ascontemplated by the inventor(s), and thus, are not intended to limit thepresent invention and the appended claims in any way.

What is claimed is:
 1. A computer-implemented method for facilitatingthe rendering of third-party in-image applications in connection withimages published on webpages, the method comprising: (a) providing awebpage publisher with software code for insertion into a webpage,wherein the software code, when executed, functions to identify an imagethat has been published on the webpage and submit the image to a serviceprovider's computer system; the service provider's computer systemperforming the steps of (b) assigning an image key to the image; (c)processing the image through an image tagging engine, wherein the imagetagging engine tags the image with one or more contextual tags based onthe content within the image; (d) maintaining an image data repository,wherein the one or more contextual tags are indexed by the image key;(e) providing the webpage publisher with the image key for linking tothe published image; (f) providing the webpage publisher with anin-image application interface; (g) enabling one or more third-partyin-image applications based on the one or more contextual tags; (h)receiving a data request from an enabled in-image application, uponuser-activation of the enabled in-image application, wherein the datarequest includes the image key; (i) conducting a data search of theimage data repository based on the image key; and (j) providing the oneor more contextual tags, responsive to the data request, for renderingof the enabled and user-activated third-party in-image application,wherein the third-party in-image application uses the contextual tags toperform its respective function.
 2. The method of claim 1, furthercomprising: receiving use feedback from the rendered in-imageapplication; and supplementing the one or more contextual tags with usefeedback.
 3. The method of claim 1, further comprising: overlaying therendered in-image application on the image on the webpage.
 4. Acomputer-implemented system for facilitating the rendering ofthird-party in-image applications on one or more digital contentplatforms, the system comprising: (a) an image identification interfacewhich identifies digital images published on one or more digital contentplatforms; (b) an image tagging engine which tags images with contextualtags based on the content within the image; (c) an image data repositorystoring the contextual tags linked to respective digital images, whereinthe digital images are indexed by an image key; and (d) an in-imageapplication interface which: (1) receives a data request from an enabledthird-party in-image application, upon user-activation of the enabledthird-party in-image application, wherein the data request includes theimage key, (2) conducts a data search of the image data repository basedon the image key, and (3) provides image data, responsive to the datarequest, for rendering of the enabled and user-activated third-partyin-image application, wherein the third-party in-image application usesthe image data to perform its respective function.
 5. The system ofclaim 4, wherein the image tagging engine comprises proximate-textrecognition.
 6. The system of claim 4, wherein the image tagging enginecomprises thematic tagging.
 7. The system of claim 4, wherein thein-image application interface further comprises: (4) overlaying therendered in-image application on the digital content platform, based onthe image data.
 8. A non-transitory computer-readable storage medium forfacilitating the rendering of third-party in-image applications inconnection with images published on webpages, comprising: instructionsexecutable by at least one processing device that, when executed, causethe processing device to (a) receive identification of an image that hasbeen published on a webpage; (b) assign an image key to the image; (c)process the image through an image tagging engine, wherein the imagetagging engine tags the image with one or more contextual tags based onthe content within the image; (d) store the one or more contextual tags,indexed by the image key, in an image data repository; (e) receive adata request from an enabled third-party in-image application, uponuser-activation of the enabled third-party in-image application, whereinthe data request includes the image key; (f) conduct a data search ofthe image data repository based on the image key; and (g) provide theone or more contextual tags, responsive to the data request, forrendering of the enabled and user-activated third-party in-imageapplication, wherein the third-party in-image application uses thecontextual tags to perform its respective function.
 9. Thenon-transitory computer-readable storage medium of claim 8, furthercomprising: instructions executable by at least one processing devicethat, when executed, cause the processing device to performproximate-text recognition of the image on the webpage.
 10. Thenon-transitory computer-readable storage medium of claim 8, furthercomprising: instructions executable by at least one processing devicethat, when executed, cause the processing device to submit the digitalimage to a thematic tagging engine.
 11. The non-transitorycomputer-readable storage medium of claim 8, further comprising:instructions executable by at least one processing device that, whenexecuted, cause the processing device to receive use feedback from therendered in-image application; and supplement the one or more contextualtags with use feedback.
 12. The non-transitory computer-readable storagemedium of claim 8, further comprising: instructions executable by atleast one processing device that, when executed, cause the processingdevice to overlay the rendered in-image application on the webpage. 13.A non-transitory computer-readable storage medium for facilitating therendering of one or more third-party in-image applications in connectionwith an image published on a webpage, comprising: instructionsexecutable by at least one processing device that, when executed, causethe processing device to (a) receive identification of an image that hasbeen published on a webpage; (b) submit the image to an image taggingengine to identify contextual data for the image; (c) receive a requestfor the contextual data, from a third-party in-image application, uponuser-activation of the third-party in-image application; and (d) providethe contextual data, responsive to the request, for rendering of theuser-activated third-party in-image application on the webpage, whereinthe third-party in-image application uses the contextual data to performits respective function.
 14. The non-transitory computer-readablestorage medium of claim 13, further comprising: instructions executableby at least one processing device that, when executed, cause theprocessing device to determine whether the contextual data needed forrendering of the in-image application is maintained in a serviceprovider image data repository or a third-party image data repository.15. The non-transitory computer-readable storage medium of claim 14,further comprising: instructions executable by at least one processingdevice that, when executed, cause the processing device to receive usefeedback from the rendered in-image application; and update a reportingmetric for the image based on the use feedback.